package com.piggy.logi.sys.domain;

import com.piggy.common.core.annotation.Excel;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import com.baomidou.mybatisplus.annotation.*;
import org.springframework.format.annotation.DateTimeFormat;
import io.swagger.annotations.ApiModelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.io.Serializable;
import java.util.Date;


/**
 * 运单签收对象 logi_waybill_sign
 *
 * @author piggy
 * @date 2023-09-19
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("logi_waybill_sign")
public class LogiWaybillSign implements Serializable {

    private static final long serialVersionUID=1L;

    /** 主键id */
    @ApiModelProperty("主键id")
    @TableId(value = "signed_id")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long signedId;

    /** deptId */
    @ApiModelProperty("deptId")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long deptId;

    /** 运单编号 */
    @ApiModelProperty("运单编号")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long waybillId;

    /** 签收人 */
    @ApiModelProperty("签收人")
    private String signer;

    /** 联系电话 */
    @ApiModelProperty("联系电话")
    private String signedPhone;

    /** 签收状态 0 待签收 1 签收 */
    @ApiModelProperty("签收状态 0 待签收 1 签收")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long signedStatus;

    /** 签收证件(证件号码) */
    @ApiModelProperty("签收证件(证件号码)")
    private String signedIdcard;

    /** 签收类型 0 未知 1 全部签收 2 部分签收 */
    @ApiModelProperty("签收类型 0 未知 1 全部签收 2 部分签收")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long signedType;

    /** 代理签收标识 0 默认值 1 代理 */
    @ApiModelProperty("代理签收标识 0 默认值 1 代理")
    private Integer signedAgentFlag;

    /** 签收回单附件(id值，多个id逗号分隔) */
    @ApiModelProperty("签收回单附件(id值，多个id逗号分隔)")
    private String signedAttach;

    /** 代收附件 */
    @ApiModelProperty("代收附件")
    private String agentAttach;

    /** 签收备注 */
    @ApiModelProperty("签收备注")
    private String signedRemark;

    /** 删除标识 */
    @ApiModelProperty("删除标识")
    @TableLogic
    private String delFlag;

    /** 添加时间 */
    @ApiModelProperty("添加时间")
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 创建者 */
    @ApiModelProperty("创建者")
    @TableField(fill = FieldFill.INSERT)
    private String createBy;

    /** 更新时间 */
    @ApiModelProperty("更新时间")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /** 更新者 */
    @ApiModelProperty("更新者")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updateBy;

}
